home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.mactech.com 2010
/
ftp.mactech.com.tar
/
ftp.mactech.com
/
thinkref
/
archive
/
THINKPascalUH2.1.sea
/
THINKPas Univ Hdr 2.1
/
Interfaces
/
Lists.p
< prev
next >
Wrap
Text File
|
1995-09-14
|
9KB
|
347 lines
{ Converted with MPW2TPas Tuesday, September 12, 1995 7:25:40 PM }
{}
{ File: Lists.p}
{ }
{ Contains: List Manager Interfaces.}
{ }
{ Version: Technology: System 7.5}
{ Package: Universal Interfaces 2.1 in “MPW Latest” on ETO #18}
{ }
{ Copyright: © 1984-1995 by Apple Computer, Inc.}
{ All rights reserved.}
{ }
{ Bugs?: If you find a problem with this file, use the Apple Bug Reporter}
{ stack. Include the file and version information (from above)}
{ in the problem description and send to:}
{ Internet: apple.bugs@applelink.apple.com}
{ AppleLink: APPLE.BUGS}
{ }
{}
unit Lists;
interface
{$IFC UNDEFINED __LISTS__}
{$SETC __LISTS__ := 1}
uses
ConditionalMacros, Types, Quickdraw, Controls, Memory;
{ $PUSH}
{ $ALIGN MAC68K}
{ $LibExport+}
{$IFC UNDEFINED STRICT_LISTS }
{$SETC STRICT_LISTS := 0}
{$ENDC}
{$IFC NOT STRICT_LISTS }
const
lDoVAutoscroll = 2;
lDoHAutoscroll = 1;
lOnlyOne = -128;
lExtendDrag = 64;
lNoDisjoint = 32;
lNoExtend = 16;
lNoRect = 8;
lUseSense = 4;
lNoNilHilite = 2;
lDoVAutoscrollBit = 1;
lDoHAutoscrollBit = 0;
lOnlyOneBit = 7;
lExtendDragBit = 6;
lNoDisjointBit = 5;
lNoExtendBit = 4;
lNoRectBit = 3;
lUseSenseBit = 2;
lNoNilHiliteBit = 1;
{$ENDC}
const
lInitMsg = 0;
lDrawMsg = 1;
lHiliteMsg = 2;
lCloseMsg = 3;
{$IFC STRICT_LISTS }
type
ListRef = Ptr;
ListHandle = ListRef;
{$ELSEC}
type
ListPtr = ^ListRec;
ListHandle = ^ListPtr;
ListRef = ListHandle;
{$ENDC}
Cell = Point;
ListBounds = Rect;
DataArray = packed array[0..32000] of CHAR;
DataPtr = ^DataArray;
DataHandle = ^DataPtr;
ListSearchProcPtr = ProcPtr; { FUNCTION ListSearch(aPtr: Ptr; bPtr: Ptr; aLen: INTEGER; bLen: INTEGER): INTEGER; }
{}
{ ListClickLoopProcPtr uses register based parameters on the 68k and cannot}
{ be written in or called from a high-level language without the help of}
{ mixed mode or assembly glue.}
{}
{ In:}
{ => .?}
{ Out:}
{ <= return value D0.B}
{ }
ListClickLoopProcPtr = Register68kProcPtr; { register FUNCTION ListClickLoop: BOOLEAN; }
ListSearchUPP = UniversalProcPtr;
ListClickLoopUPP = UniversalProcPtr;
{$IFC NOT STRICT_LISTS }
ListRec = record
rView: Rect;
port: GrafPtr;
indent: Point;
cellSize: Point;
visible: ListBounds;
vScroll: ControlRef;
hScroll: ControlRef;
selFlags: SInt8;
lActive: BOOLEAN;
lReserved: SInt8;
listFlags: SInt8;
clikTime: LONGINT;
clikLoc: Point;
mouseLoc: Point;
lClickLoop: ListClickLoopUPP;
lastClick: Cell;
refCon: LONGINT;
listDefProc: Handle;
userHandle: Handle;
dataBounds: ListBounds;
cells: DataHandle;
maxIndex: INTEGER;
cellArray: array[0..0] of INTEGER;
end;
{$ENDC}
ListDefProcPtr = ProcPtr; { PROCEDURE ListDef(lMessage: INTEGER; lSelect: BOOLEAN; VAR lRect: Rect; lCell: Cell; lDataOffset: INTEGER; lDataLen: INTEGER; lHandle: ListRef); }
ListCellDrawProcPtr = ProcPtr; { PROCEDURE ListCellDraw(lMessage: INTEGER; lSelect: BOOLEAN; VAR lRect: Rect; lCell: Cell; dataPtr: UNIV Ptr; lDataLen: INTEGER; lHandle: ListRef); }
ListDefUPP = UniversalProcPtr;
ListCellDrawUPP = UniversalProcPtr;
const
uppListSearchProcInfo = $00002BE0; { FUNCTION (4 byte param, 4 byte param, 2 byte param, 2 byte param): 2 byte result; }
uppListClickLoopProcInfo = $00000012; { Register FUNCTION : 1 byte in D0; }
uppListDefProcInfo = $000EBD80; { PROCEDURE (2 byte param, 1 byte param, 4 byte param, 4 byte param, 2 byte param, 2 byte param, 4 byte param); }
uppListCellDrawProcInfo = $000EFD80; { PROCEDURE (2 byte param, 1 byte param, 4 byte param, 4 byte param, 4 byte param, 2 byte param, 4 byte param); }
function NewListSearchProc (userRoutine: ListSearchProcPtr): ListSearchUPP;
{$IFC NOT GENERATINGCFM }
inline
$2E9F;
{$ENDC}
function NewListClickLoopProc (userRoutine: ListClickLoopProcPtr): ListClickLoopUPP;
{$IFC NOT GENERATINGCFM }
inline
$2E9F;
{$ENDC}
function NewListDefProc (userRoutine: ListDefProcPtr): ListDefUPP;
{$IFC NOT GENERATINGCFM }
inline
$2E9F;
{$ENDC}
function NewListCellDrawProc (userRoutine: ListCellDrawProcPtr): ListCellDrawUPP;
{$IFC NOT GENERATINGCFM }
inline
$2E9F;
{$ENDC}
function CallListSearchProc (aPtr: Ptr; bPtr: Ptr; aLen: INTEGER; bLen: INTEGER; userRoutine: ListSearchUPP): INTEGER;
{$IFC NOT GENERATINGCFM}
inline
$205F, $4E90;
{$ENDC}
function CallListClickLoopProc (userRoutine: ListClickLoopUPP): BOOLEAN;
{$IFC NOT GENERATINGCFM}
{To be implemented: Glue to move parameters into registers.}
{$ENDC}
procedure CallListDefProc (lMessage: INTEGER; lSelect: BOOLEAN; var lRect: Rect; lCell: Cell; lDataOffset: INTEGER; lDataLen: INTEGER; lHandle: ListRef; userRoutine: ListDefUPP);
{$IFC NOT GENERATINGCFM}
inline
$205F, $4E90;
{$ENDC}
procedure CallListCellDrawProc (lMessage: INTEGER; lSelect: BOOLEAN; var lRect: Rect; lCell: Cell; dataPtr: univ Ptr; lDataLen: INTEGER; lHandle: ListRef; userRoutine: ListCellDrawUPP);
{$IFC NOT GENERATINGCFM}
inline
$205F, $4E90;
{$ENDC}
function LNew ({CONST}
var rView: Rect; {CONST}
var dataBounds: ListBounds; cSize: Point; theProc: INTEGER; theWindow: WindowRef; drawIt: BOOLEAN; hasGrow: BOOLEAN; scrollHoriz: BOOLEAN; scrollVert: BOOLEAN): ListRef;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0044, $A9E7;
{$ENDC}
procedure LDispose (lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0028, $A9E7;
{$ENDC}
function LAddColumn (count: INTEGER; colNum: INTEGER; lHandle: ListRef): INTEGER;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0004, $A9E7;
{$ENDC}
function LAddRow (count: INTEGER; rowNum: INTEGER; lHandle: ListRef): INTEGER;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0008, $A9E7;
{$ENDC}
procedure LDelColumn (count: INTEGER; colNum: INTEGER; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0020, $A9E7;
{$ENDC}
procedure LDelRow (count: INTEGER; rowNum: INTEGER; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0024, $A9E7;
{$ENDC}
function LGetSelect (next: BOOLEAN; var theCell: Cell; lHandle: ListRef): BOOLEAN;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $003C, $A9E7;
{$ENDC}
function LLastClick (lHandle: ListRef): Cell;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0040, $A9E7;
{$ENDC}
function LNextCell (hNext: BOOLEAN; vNext: BOOLEAN; var theCell: Cell; lHandle: ListRef): BOOLEAN;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0048, $A9E7;
{$ENDC}
function LSearch (dataPtr: univ Ptr; dataLen: INTEGER; searchProc: ListSearchUPP; var theCell: Cell; lHandle: ListRef): BOOLEAN;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0054, $A9E7;
{$ENDC}
procedure LSize (listWidth: INTEGER; listHeight: INTEGER; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0060, $A9E7;
{$ENDC}
procedure LSetDrawingMode (drawIt: BOOLEAN; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $002C, $A9E7;
{$ENDC}
procedure LScroll (dCols: INTEGER; dRows: INTEGER; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0050, $A9E7;
{$ENDC}
procedure LAutoScroll (lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0010, $A9E7;
{$ENDC}
procedure LUpdate (theRgn: RgnHandle; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0064, $A9E7;
{$ENDC}
procedure LActivate (act: BOOLEAN; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$4267, $A9E7;
{$ENDC}
procedure LCellSize (cSize: Point; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0014, $A9E7;
{$ENDC}
function LClick (pt: Point; modifiers: INTEGER; lHandle: ListRef): BOOLEAN;
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0018, $A9E7;
{$ENDC}
procedure LAddToCell (dataPtr: univ Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $000C, $A9E7;
{$ENDC}
procedure LClrCell (theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $001C, $A9E7;
{$ENDC}
procedure LGetCell (dataPtr: univ Ptr; var dataLen: INTEGER; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0038, $A9E7;
{$ENDC}
procedure LRect (var cellRect: Rect; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $004C, $A9E7;
{$ENDC}
procedure LSetCell (dataPtr: univ Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0058, $A9E7;
{$ENDC}
procedure LSetSelect (setIt: BOOLEAN; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $005C, $A9E7;
{$ENDC}
procedure LDraw (theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0030, $A9E7;
{$ENDC}
procedure LGetCellDataLocation (var offset: INTEGER; var len: INTEGER; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0034, $A9E7;
{$ENDC}
{$IFC OLDROUTINENAMES }
procedure LDoDraw (drawIt: BOOLEAN; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $002C, $A9E7;
{$ENDC}
procedure LFind (var offset: INTEGER; var len: INTEGER; theCell: Cell; lHandle: ListRef);
{$IFC NOT GENERATINGCFM}
inline
$3F3C, $0034, $A9E7;
{$ENDC}
{$ENDC}
{ $ALIGN RESET}
{ $POP}
{$ENDC}
{__LISTS__}
implementation
end.